package com.ctsi.ssdc.repository;

import com.ctsi.ssdc.domain.LitemallGoods;
import com.ctsi.ssdc.domain.LitemallGoodsExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;

/**
 * @author ctsi-biyi-generator
*/
@Mapper
public interface LitemallGoodsRepository extends BaseRepository<LitemallGoods, Integer, LitemallGoodsExample> {
    @Override
    long countByExample(LitemallGoodsExample example);

    @Override
    int deleteByExample(LitemallGoodsExample example);

    @Override
    int deleteByPrimaryKey(Integer id);

    @Options(useGeneratedKeys=true, keyProperty="id")
    @Override
    int insert(LitemallGoods record);

    @Options(useGeneratedKeys=true, keyProperty="id")
    @Override
    int insertSelective(LitemallGoods record);

    List<LitemallGoods> selectByExampleWithBLOBs(LitemallGoodsExample example);

    @Override
    List<LitemallGoods> selectByExample(LitemallGoodsExample example);

    @Override
    LitemallGoods selectByPrimaryKey(Integer id);

    @Override
    int updateByExampleSelective(@Param("record") LitemallGoods record, @Param("example") LitemallGoodsExample example);

    int updateByExampleWithBLOBs(@Param("record") LitemallGoods record, @Param("example") LitemallGoodsExample example);

    @Override
    int updateByExample(@Param("record") LitemallGoods record, @Param("example") LitemallGoodsExample example);

    @Override
    int updateByPrimaryKeySelective(LitemallGoods record);

    int updateByPrimaryKeyWithBLOBs(LitemallGoods record);

    @Override
    int updateByPrimaryKey(LitemallGoods record);

    List<LitemallGoods> selectByExampleSelective(LitemallGoodsExample example,  LitemallGoods.Column ... selective);

    LitemallGoods selectOneByExampleSelective(LitemallGoodsExample example, LitemallGoods.Column[] columns);
}